package net.neptech.service;

import net.neptech.model.sys.Dept;
import net.neptech.page.PageQuery;
import net.neptech.page.TableDataInfo;
import net.neptech.vm.ResponseResult;
import net.neptech.vo.TreeSelectVo;

import java.util.List;

public interface DeptService {
    List<Dept> selectDeptList(Dept dept);

    Dept selectDeptById(Long deptId);

    void updateDept(Dept dept);

    void insertDept(Dept dept);

    void deleteDeptById(Long deptId);

    boolean hasChildByDeptId(Long deptId);

    List<TreeSelectVo> selectDeptTree(Dept dept);

    TableDataInfo<Dept> getDeptPage(Dept dept, PageQuery pageQuery);

    List<Dept> getDeptDetailByDeptName(String deptName);

    List<Dept> selectOneLevelDept();

    List<Dept> selectDeptByParentId(Long parentId);

    List<Dept> getDeptDetailByDeptIds(List<Long> ids);

    List<Dept> getAll();
}
